package cn.terminus.service.customer.feign.carrier;

import cn.terminus.result.common.result.TerminusResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(name = "cbo-carrier")
public interface CarrierFeignClient {
    @RequestMapping(value = "/projectRoom/getInfo", method = RequestMethod.GET)
    TerminusResult<ProjectRoomInfo> getRoomInfo(@RequestParam(value = "id") Long id);

    @RequestMapping(value = "/projectInfo/getInfo", method = RequestMethod.GET)
    TerminusResult<ProjectTotalInfo> queryProjectInfo(@RequestParam(value = "id") Long id);

    @RequestMapping(value = "/projectBuild/getInfo", method = RequestMethod.GET)
    TerminusResult<ProjectBuildInfo> getProjectBuildInfo(@RequestParam(value = "id") Long id);

    @RequestMapping(value = "/projectRoom/getDetailByIds", method = RequestMethod.GET)
    TerminusResult<List<ProjectRoomDetailResult>> getDetailByIds(@RequestParam("ids") List<Long> ids);

    @RequestMapping(value = "/projectInfo/gets", method = RequestMethod.POST)
    TerminusResult<List<ProjectListResult>> gets(@RequestBody ProjectInfoGetsParam param);

}
